package com.example.gatewayservice.Filters;

import org.springframework.stereotype.Component;

@Component
public class PrintAnyGatewayFilterFactory {
//public class PrintAnyGatewayFilterFactory extends AbstractGatewayFilterFactory<PrintAnyGatewayFilterFactory.Config> {
    //自定义过滤器工厂，项目中不使用
//    @Override
//    public GatewayFilter apply(Config config) {
//        return new OrderedGatewayFilter(new GatewayFilter() {
//            @Override
//            public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
//                String a = config.getA();
//                String b = config.getB();
//                String c = config.getC();
//                System.out.println("过滤器执行了！");
//                System.out.println("a = " + a);
//                System.out.println("b = " + b);
//                System.out.println("c = " + c);
//                return chain.filter(exchange);
//            }
//        }, 1);
//    }
//
//    @Override
//    public List<String> shortcutFieldOrder() {
//        return List.of("a", "b", "c");
//    }
//
//    @Override
//    public Class<Config> getConfigClass() {
//        return Config.class;
//    }
//
//    @Data
//    public static class Config{
//        private String a;
//        private String b;
//        private String c;
//    }
}
